package com.iven.xie.redis.service;


import com.iven.xie.redis.beans.CacheKey;
import com.iven.xie.redis.util.CacheTypeEnum;

/**
 * 公共缓存服务, 推荐将该服务抽象成公共RPC服务
 *
 * @author iven.xie
 */
public interface CacheService {

    /**
     * 添加
     *
     * @param cacheKey
     * @param value
     * @return
     */
    public boolean set(CacheKey cacheKey, Object value);

    /**
     * 获取
     *
     * @param cacheKey
     * @return
     */
    public Object get(CacheKey cacheKey);

    /**
     * 删除
     *
     * @param cacheKey
     * @return
     */
    public boolean delete(CacheKey cacheKey);

    /**
     * 获取缓存类型
     *
     * @return 缓存类型
     */
    CacheTypeEnum getCacheType();
}
